﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;
using System.Collections;
using System.Collections.Specialized;
using Acando.Dynamics.CRM.Silverlight.Library.CrmSdk;
//using  Acando.Dynamics.CRM.Silverlight.Library.CrmProxyWcf;

namespace Acando.Dynamics.CRM.Silverlight.Library.Interfaces
{
    public interface IDataModel
    {
        string EntityTypeName {get;}

        void Create(BusinessEntity item);

        void Update(BusinessEntity item);

        void RetrieveMultiple();

        void RetrieveMultiple(QueryBase query);

        BusinessEntity NewItem();

        BusinessEntity CopyItem(BusinessEntity item);

        event EventHandler<CreateCompletedEventArgs> Created;

        event EventHandler<AsyncCompletedEventArgs> Updated;

        event EventHandler<RetrieveMultipleCompletedEventArgs> RetrieveMultipleCompleted;
    }
}
